;;;;neonate LSP v0.01 (next version will refer to CL-WHO)

(defun html (args &rest body)
  (format nil "<html~a>~{~a~}</html>" args body))
(defun head (args &rest body)
  (format nil "<head~a>~{~a~}</head>" args body))
(defun title (args &rest body)
  (format nil "<title~a>~{~a~}</title>" args body))
(defun body (args &rest body)
  (format nil "<body~a>~{~a~}</body>" args body)) 
  
;;;Heading <h1>-<h6>
(defun h1 (args &rest body)
  (format nil "<h1~a>~{~a~}</h1>" args body))
(defun h2 (args &rest body)
  (format nil "<h2~a>~{~a~}</h2>" args body))
(defun h3 (args &rest body)
  (format nil "<h3~a>~{~a~}</h3>" args body))
(defun h4 (args &rest body)
  (format nil "<h4~a>~{~a~}</h4>" args body))
(defun h5 (args &rest body)
  (format nil "<h5~a>~{~a~}</h5>" args body))
(defun h6 (args &rest body)
  (format nil "<h6~a>~{~a~}</h6>" args body))



(defun a (args &rest body)
  (format nil 
	  "<a~a>~{~a~}</a>" 
	  args body))

(defun img (args &rest body)
  (format nil "<img~a>~{~a~}</img>" args body))


;;;paragraph
(defun p (args &rest body)
  (format nil "<p~a>~{~a~}</p>" args body))
(defun b (args &rest body)
  (format nil "<b~a>~{~a~}</b>" args body))
(defun strong (args &rest body)
  (format nil "<strong~a>~{~a~}</strong>" args body))
(defun big (args &rest body)
  (format nil "<big~a>~{~a~}</big>" args body))
(defun em (args &rest body)
  (format nil "<em~a>~{~a~}</em>" args body))
(defun i (args &rest body)
  (format nil "<i~a>~{~a~}</i>" args body))
(defun small (args &rest body)
  (format nil "<small~a>~{~a~}</small>" args body))
(defun sub (args &rest body)
  (format nil "<sub~a>~{~a~}</sub>" args body))
(defun sup (args &rest body)
  (format nil "<sup~a>~{~a~}</sup>" args body))
(defun pre (args &rest body)
  (format nil "<pre~a>~{~a~}</pre>" args body))
(defun address (args &rest body)
  (format nil "<address~a>~{~a~}</address>" args body))
(defun del (args &rest body)
  (format nil "<del~a>~{~a~}</del>" args body))

;;;list
(defun ul (args &rest body)
  (format nil "<ul~a>~{~a~}</ul>" args body))
(defun ol (args &rest body)
  (format nil "<ol~a>~{~a~}</ol>" args body))
(defun li (args &rest body)
  (format nil "<li~a>~{~a~}</li>" args body))
(defun dl (args &rest body)
  (format nil "<dl~a>~{~a~}</dl>" args body))
(defun dt (args &rest body)
  (format nil "<dt~a>~{~a~}</dt>" args body))
(defun dd (args &rest body)
  (format nil "<dd~a>~{~a~}</dd>" args body))


(defun br ()
  (format nil "<br/>"))
(defun hr ()
  (format nil "<hr/>"))
(defun nbsp ()
  (format nil "&nbsp"))
(defun lt ()
  (format nil "&lt"))
(defun gt ()
  (format nil "&gt"))
(defun at ()
  (format nil "&#169"))
(defun div (args &rest body)
  (format nil "<div~a>~{~a~}</div>" args body))
(defun span (args &rest body)
  (format nil "<span~a>~{~a~}</span>" args body))

;;;CSS
(defun style (body &key (type "text/css"))
  (format nil "<style type='~a'>~a</style>" type body))

;;;TABLE
(defun table (args &rest trs)
  (format nil "<table~a>~{~a~}</table>" args trs))
(defun caption (args &rest body)
  (format nil "<caption~a>~{~a~}</caption>" args body))
(defun thread (args &rest head)
  (format nil "<thread~a>~{~a~}</thread>" args head))
(defun tbody (args &rest body)
  (format nil "<tbody~a>~{~a~}</tbody>" args body))
(defun tfoot (args &rest foot)
  (format nil "<tfoot~a>~{~a~}</tfoot>" args foot))
(defun tr (args &rest tds)
  (format nil "<tr~a>~{~a~}</tr>" args tds))
(defun td (args &rest body)
  (format nil "<td~a>~{~a~}</td>" args body))
(defun th (args &rest body)
  (format nil "<th~a>~{~a~}</th>" args body))
(defun col (args)
  (format nil "<col~a />" args))
;;; use-less
(defun colgroup (args)
  (format nil "<colgroup~a />" args))


;;;form
(defun form (args &rest body)
  (format nil "<form~a>~{~a~}</form>" args body))
(defun input (args)
  (format nil "<input~a/>" args))
(defun select (args &rest body)
  (format nil "<select~a>~{~a~}</select>" args body))
(defun option (args &rest body)
  (format nil "<option~a>~{~a~}</option>" args body))
(defun textarea (args &rest body)
  (format nil "<textarea~a>~{~a~}</textarea>" args body))
(defun fieldset (args &rest body)
  (format nil "<fieldset~a>~{~a~}</fieldset>" args body))
(defun legend (args &rest body)
  (format nil "<legend~a>~{~a~}</legend>" args body))
(defun label (args &rest body)
  (format nil "<label~a>~{~a~}</label>" args body))
(defun optgroup (args &rest body)
  (format nil "<optgroup~a>~{~a~}</optgroup>" args body))
(defun option (args &rest body)
  (format nil "<option~a>~{~a~}</option>" args body))
(defun button (args &rest body)
  (format nil "<button~a>~{~a~}</button>" args body))

;;;frame
(defun frameset (args &rest body)
  (format nil "<frameset~a>~{~a~}</frameset>" args body))
(defun frame (args &rest body)
  (format nil "<frame~a>~{~a~}</frame>" args body))
(defun iframe (args &rest body)
  (format nil "<iframe~a>~{~a~}</iframe>" args body))

;;;args
(defun args (&rest args)
  (format nil "~{ ~a=~a~} " args))
